Om krypto

Om krypton
Olika metoder
Andra metoder
Utökningar och varianter på denna metod
Diffie-Hellman
Rivest, Shamir och Adler
Fingerprinting
Sign here, please...

 


26/08-02 | Icepic | icepic@64bits.se
Utskriftsvänligare versionUtskriftsvänligare version


Om krypton

I alla tider har folk velat dölja sina meddelanden från varandra.
Man konstaterade rätt snabbt att alla meddelanden som sänds iväg kan komma att bli uppsnappade av ens fiender eller konkurrenter, vilket ledde till att man utvecklade olika metoder för att kunna hindra obehöriga från att förstå vad som stod i meddelandet. Det kunde även vara så att man var tvungen att sända sitt meddelande över en publik kanal där andra såg meddelandet även utan att ha slagit ihjäl din budbärare. Oavsett syftet så uppstod för länge länge sen en speciell vetenskap som nu för tiden kallas kryptografi. En del använde det som nu är traditionella mer matematiskt inriktade metoder, medans t.ex Leonardo Da Vinci nöjde sig med att vända bokstäverna bak och fram och läsa via en spegel. Amerikanarna använde sig av Navajoindianer under andra världskriget för kommunikation över radio, eftersom det fanns otroligt otroligt få tyskar med kunskap om Navajospråket, men också för att deras språk till väldigt stor del skiljer sig från vanliga språk som talas nu, så det blir svårt att göra en ord-analys och gissa sig fram till vilka ord som kan tänkas betyda vad.

Olika metoder

Bland de tidiga metoderna finns det som nu kallas Caesarkrypto, som är vanligt på flingpaketen, serietidningsklubbar osv, där man helt enkelt byter A->F, B->G, C->H osv. De är i princip likvärdiga med system där man använder andra tecken så att + (plus) är "A", % (procent) är "B", man har ersatt en bokstav med en annan (eller ett tecken, en bild osv) och den byter inte betydelse under gång, så att säga. I newsgrupper och på liknande platser kan man råka ut för nåt som kallas ROT-13. Det betyder att man tar det (engelska) alfabetet och förskjuter alla tecken 13 steg. Eftersom de har 26 bokstäver i sitt alfabet betyder det att man dekrypterar ett sånt meddelande genom att köra texten igenom samma rutin en gång till.

Texten "64bits forum aeger dig!" skulle då bli: "64ovgf sbehz nrtre qvt!" om man kör det genom rot-13. De som använder det idag vet ju givetvis om att det är ett ganska futtigt krypto och att det givetvis inte är till för att skydda, utan för att dölja. Man kan dölja en spoiler till ett spel eller en film, så att de som redan sett eller inte kan bärga sig får se, medans resten inte får sitt nöje förstört. Det stora problemet med denna typ av krypto är ju att det är så enkelt att dechiffrera. Nyckeln i ROT13 är just talet "13" och att antalet möjliga nycklar är 26, fast just 26 är dumt att ta. Det innebär att man behöver prova max 25 kombinationer för att få fram originaltexten.

Dessutom, iochmed att samma bokstav alltid får samma symbol kan man lätt använda statistik för att ta reda på vilka tecken som döljer sig bakom symbolerna, om det nu inte är bokstäver i kryptomeddelandet utan siffror eller bilder. Är det engelsk text kommer troligen "e" vara vanligaste bokstaven, efter "space" om den är med. (men det händer att man skriver utan space för att försvåra) Hittar man en trebokstavssekvens med "e" på slutet flera gånger i meddelandet kan man anta att det är "the" och på det sättet
få fram flera bokstäver. Precis som med korsord och det veckotidningarnas pysselsida kallar "krypto" (nummerkorsord) så räcker det ofta med ett par bokstäver i ett längre ord för att kunna fylla på med resten senare.

Andra metoder

Nån gång på 1700-talet kom matematikerna på att ovanstående typer av krypton alltid kommer att gå att klå med hjälp av ordböcker, statistik och genom att helt enkelt testa sig fram. För att dessa krypton skulle vara framgångsrika krävdes det alltså att inte bara nyckeln, men också själva metoden var okänd för mottagaren. Vet man om att det är ROT-x så går det ruskigt fort att prova sig fram till vilken siffra som gömmer sig bakom x:et. Dessutom syns sekvenser väldigt tydligt. Krypterar man texten: "AAAAAA" så blir kryptotexten "OOOOOO". Illa.

Nästa steg i utvecklingen blev att man lät meddelandet i sig förändra nycklingen. Om man kör ROT-13 så att "A" blir "O" så kan man ändra 13 till "värdet-för-O" => 14, och sen till nästa bokstav är det ROT-14 som gäller. Om den slutar som ett "B" så är det ROT-2 osv. På det viset kommer inte samma bokstav att alltid bli likadan varje gång den uppträder i kryptomeddelandet. Detta är ju ett stort framsteg, eftersom man på det sättet kommer runt de enkla attackera mot det som kallas caesarkrypton. En sekvens på "AAAAAA" blir "OPRVDT" om man låter nyckeln stiga med resultatet av den tidigare bokstaven. Det blir mycket svårare att se att "OPRVDT" är en simpel sekvens.

Det är däremot fortfarande en stor vinst att veta hur din metod fungerar när man ska knäcka kryptot, och det finns fortfarande bara en enda kort nyckel (startvärdet), så vet man metoden är det bara 25 försök så är meddelandet dekypterat. Inte bra. Dock ska man veta att iden att låta meddelandet självt påverka den efterföljande krypteringen är en väldigt god ide, eftersom en fiende som saknar början av ditt meddelande får otroligt mycket svårare att dekryptera det som kommer efter.

Det berömda Enigma-kryptot som tyskarna använde under andra världskriget fungerade ungefär som ovan, fast de körde transformeringarna ett par,tre gånger i rad.

Nu har jag förevisat med "små alfabet", där man rör sig med 26 tecken, men metoderna fungerar ju lika bra för bytes, med 256 olika värden. Det viktiga är att man låter värdena varva runt, så när man kommer till "Z" i det engelska alfabetet så börjar man om på "A" igen, eller om man kör bytes, att man varvar från 255 till 0 igen.


  Nästa sida »

 

26/08-02 | Icepic | icepic@64bits.se
Utskriftsvänligare versionUtskriftsvänligare version

Diskutera denna artikeln i vårt forum!